package com.cfq.scan;

import java.util.List;
import java.util.concurrent.TimeUnit;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;


public class ScanVMall {

	public static void main(String[] args) {
	
		boolean find=false;

		// 1、设置chrome浏览器驱动
		System.setProperty("webdriver.chrome.driver", "E:\\chromedriver.exe");//chrome驱动要匹配浏览器版本
		// 2、设置ChromeOptions
		ChromeOptions chromeOptions = initChromeOptions();
		// 3、初始化一个浏览器实例
		WebDriver webDriver = initWebDriver(chromeOptions);
		// 4、加载网页程序
		webDriver.get("https://www.vmall.com/index.html");
		// 5、等待器
		WebDriverWait wait = new WebDriverWait(webDriver, 15);
		// 6、等待加载指定元素
		wait.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("div[class='footer followvmall']")));//选择器要找的固定标识 以免目标网站发版时 classname和id 随机编
		// 7、获取网页源代码
		String pageSource = webDriver.getPageSource();
		// 8、转成jsoup的document方便操作
		Document page = Jsoup.parse(pageSource);
		// 9、拉出全部div
		List<Element> list = page.getElementsByTag("div");
		for (Element div : list) {
			if (div.ownText().indexOf("P70") >= 0 || div.ownText().indexOf("P 70") >= 0) {// 找内容含P70的 关键字可以换其他
				find=true;
				String[] to = { "abcd@qq.com" };// 发邮件给自己提醒
				MailTools mailTools = new MailTools();
				mailTools.sendPersonAlertMail(to, "上线啦！快来抢！" + div.ownText());
			}
		}
		if(!find) {
			webDriver.quit();//没找到就关闭浏览器 等下次在执行
		}
	}

	private static ChromeOptions initChromeOptions() {
		ChromeOptions options = new ChromeOptions();
		options.addArguments("--headless");//不好使...
		options.setBinary("C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe");//浏览器位置
		return options;
	}

	private static WebDriver initWebDriver(ChromeOptions options) {
		WebDriver webDriver = new ChromeDriver(options);
		webDriver.manage().window().maximize();
		webDriver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
		return webDriver;
	}
}
